﻿using System;

namespace EvaluacionExalmarEntidades
{
    [Serializable]
    public class EmpleadoInfo
    {
        private int? _idEmpleado;
        private String _nombres;
        private String _apellidoPaterno;
        private String _apellidoMaterno;
        private int? _idCargo;
        private CargoInfo _cargo;
        private int? _idArea;
        private AreaInfo _area;
        private int? _idGerencia;
        private GerenciaInfo _gerencia;
        private int? _etapaContribucion;
        private String _dni;

        public EmpleadoInfo()
        {
        }

        public EmpleadoInfo(String sDni)
        {
            _dni = sDni;
        }

        public EmpleadoInfo(int? nIdEmpleado, String sNombres, String sApellidoPaterno, String sApellidoMaterno, int? nIdGerencia, int? nIdArea,
                            int? nIdCargo, int? nEtapaContribucion, String sDni)
        {
            _idEmpleado = nIdEmpleado;
            _nombres = sNombres;
            _apellidoPaterno = sApellidoPaterno;
            _apellidoMaterno = sApellidoMaterno;
            _idCargo = nIdCargo;
            _idArea = nIdArea;
            _idGerencia = nIdGerencia;
            _etapaContribucion = nEtapaContribucion;
            _dni = sDni;
        }

        public EmpleadoInfo(int? nIdEmpleado, String sNombres, String sApellidoPaterno, String sApellidoMaterno, int? nIdGerencia, GerenciaInfo oGerencia, 
                    int? nIdArea, AreaInfo oArea, int? nIdCargo, CargoInfo oCargo, int? nEtapaContribucion, String sDni)
        {
            _idEmpleado = nIdEmpleado;
            _nombres = sNombres;
            _apellidoPaterno = sApellidoPaterno;
            _apellidoMaterno = sApellidoMaterno;
            _idCargo = nIdCargo;
            _cargo = oCargo;
            _idArea = nIdArea;
            _area = oArea;
            _idGerencia = nIdGerencia;
            _gerencia = oGerencia;
            _etapaContribucion = nEtapaContribucion;
            _dni = sDni;
        }

        public int? IdEmpleado
        {
            get { return _idEmpleado; }
            set { _idEmpleado = value; }
        }

        public string Nombres
        {
            get { return _nombres; }
            set { _nombres = value; }
        }

        public string ApellidoPaterno
        {
            get { return _apellidoPaterno; }
            set { _apellidoPaterno = value; }
        }

        public string ApellidoMaterno
        {
            get { return _apellidoMaterno; }
            set { _apellidoMaterno = value; }
        }

        public int? IdCargo
        {
            get { return _idCargo; }
            set { _idCargo = value; }
        }

        public CargoInfo Cargo
        {
            get { return _cargo; }
            set { _cargo = value; }
        }

        public int? IdArea
        {
            get { return _idArea; }
            set { _idArea = value; }
        }

        public AreaInfo Area
        {
            get { return _area; }
            set { _area = value; }
        }

        public int? IdGerencia
        {
            get { return _idGerencia; }
            set { _idGerencia = value; }
        }

        public GerenciaInfo Gerencia
        {
            get { return _gerencia; }
            set { _gerencia = value; }
        }

        public int? EtapaContribucion
        {
            get { return _etapaContribucion; }
            set { _etapaContribucion = value; }
        }

        public string Dni
        {
            get { return _dni; }
            set { _dni = value; }
        }

        public String NombreCompleto
        {
            get { return _nombres + @" " + _apellidoPaterno + @" " + _apellidoMaterno; }
        }
    }
}
